package com.io.example.demoparent.responsibility;

public abstract class Approver {

    /**
     * 下一个处理者
     */
    Approver approver;
    /**
     * 名字
     */
    String name;

    public Approver() {
    }

    public Approver(String name) {
        this.name = name;
    }

    /**
     * 下一个处理者
     *
     * @param approver
     */
    public void setApprover(Approver approver) {
        this.approver = approver;
    }

    /**
     * 处理审批请求方法，得到一个请求 处理是子类完成 因此该法做出抽象
     *
     * @param request
     */
    public abstract void processRequest(PurchaseRequest request);

}
